import { createStore } from "../my-redux";

// action
export const increment = () => ({ type: "INCREMENT" });
export const decrement = () => ({ type: "DECREMENT" });
// reducer
// 默认redux一上来就执行一次reducer函数，reducer函数的返回值就是redux管理数据的初始化值
// 第一次prevState是undefined，action.type不是INCREMENT、DECREMENT
const initCounter = 0; // 初始化数据的值
function counter(prevState = initCounter, action) {
  switch (action.type) {
    case "INCREMENT":
      return prevState + 1;
    case "DECREMENT":
      return prevState - 1;
    default:
      return prevState;
  }
}
// store
/*
  store.getState() 读取数据的方法
  store.dispatch(action)  触发更新的方法
  store.subscribe(listener) 监听数据的变化，调用listener
*/
const store = createStore(counter);
export default store;
